import request from '@/config/axios'

export interface RoomBedVO {
  roomId: number | null // 诊室编号
  roomName: string | null
  bedNo: string | null // 诊疗床编号
  checkTypes: number[] | null
  opType: number | null
}

export interface PatientVO {
  roomId: number // 诊室编号
  bedNo: string // 诊疗床编号
  patId: string // 患者编号
  checkType: number // 检查类型
  jumpFlag: number // 插队标记
  roomId_operator: number
  bedNo_operator: string
}

export interface PatientStatisticVO {
  finishedNum: number
  readyNum: number
  receivedNum: number
  passedNum: number
  queuingNum: number
}

// 医生 API
export const DoctorApi = {

  // 医生暂停，暂时不接收患者
  bedDoctorPause: async (params) => {
    return await request.get({ url: `/ecg/doctor/bed-doctor-pause`, params })
  },

  // 医生恢复，恢复接收患者
  bedDoctorResume: async (params) => {
    return await request.get({ url: `/ecg/doctor/bed-doctor-resume`, params })
  },

  // 医生入座，
  bedDoctorOn: async (params) => {
    return await request.get({ url: `/ecg/doctor/bed-doctor-on`, params })
  },

  // 医生离座，
  bedDoctorOff: async (params) => {
    return await request.get({ url: `/ecg/doctor/bed-doctor-off`, params })
  },

  // 获取医生的工位信息
  bedDoctorGet: async (params) => {
    return await request.get({ url: `/ecg/doctor/bed-doctor-get`, params })
  },

  // 常规叫号，取下一位患者
  finishNextPatient: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/finish-next-patient`, params })
  },

  // 领用叫号，取下一位患者
  finishReceiveNextPatient: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/finish-receive-next-patient`, params })
  },

  // 装机叫号，取下一位患者
  finishInstallNextPatient: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/finish-install-next-patient`, params })
  },

  // 过号，取下一位患者
  passNextPatient: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/pass-next-patient`, params })
  },

  // 装机过号，取下一位患者
  passInstallNextPatient: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/pass-install-next-patient`, params })
  },

  // 重叫
  callPatientAgain: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/call-again`, params })
  },

  // 重叫 安装
  callInstallingPatientAgain: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/call-install-again`, params })
  },

  // 取 常规检查、领用 患者列表
  getToBeCheckedPatientList: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/get-to-be-checked-list`, params })
  },

  // 取 [待装机] 患者列表
  getToBeInstalledPatientList: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/get-to-be-installed-list`, params })
  },

  // 取患者统计
  getPatientStatistic: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/get-patient-statistic`, params })
  },

  // 设备领用统计
  getDevReadyStatistic: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/get-dev-ready-statistic`, params })
  },

  // 设备装机统计
  getDevInstallStatistic: async (params: RoomBedVO) => {
    return await request.get({ url: `/ecg/doctor/get-dev-install-statistic`, params })
  },

  // 过号 [排队中] 患者
  passWaitingPatient: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/pass-waiting-patient`, params })
  },

  // 召回 [过号-排队中] 患者
  recallPassWaitingPatient: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/recall-pass-waiting-patient`, params })
  },

  // 召回过号患者
  recallPatient: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/recall-patient`, params })
  },

  // 召回 安装过号 患者
  recallInstallPatient: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/recall-install-patient`, params })
  },

  // 加急患者
  patientJump: async (params: PatientVO) => {
    return await request.get({ url: `/ecg/doctor/patient-jump`, params })
  }

}
